index.html.vue 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784
  1. <template>
  2. <div>
  3. <HomePageHead></HomePageHead>
  4. <HomePageNavigation></HomePageNavigation>
  5. <HomeSecondaryHeading :titleData="pageData" :pinyinid="routeId"></HomeSecondaryHeading>
  6. <div class="farmingPartOne">
  7. <div class="inner">
  8. <div class="innerLeft" v-if="pageData.length>0">
  9. <div class="title">
  10. <h3>
  11. <NuxtLink :href="getLinkPath(pageData[0])" v-if="pageData[0]" :title="pageData[0].alias">
  12. {{ pageData[0].alias }}
  13. </NuxtLink>
  14. <span>
  15. <NuxtLink :href="getLinkPath(pageData[0])" v-if="pageData[0]" :title="pageData[0].title">
  16. 查看更多
  17. </NuxtLink>
  18. </span>
  19. </h3>
  20. </div>
  21. <div class="leftTop">
  22. <div class="leftTopPhoto left" v-if="pageData[0].data[0]">
  23. <NuxtLink :href="getLinkPathDetail(pageData[0].data[0])" :title="pageData[0].data[0].title">
  24. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  25. <span>{{pageData[0].data[0].title }}</span>
  26. </NuxtLink>
  27. </div>
  28. <div class="leftTopPhoto left" v-else></div>
  29. <ul class="left">
  30. <li v-for="item in pageData[0].data3">
  31. <em></em>
  32. <span>
  33. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  34. {{ item.title }}
  35. </NuxtLink>
  36. </span>
  37. </li>
  38. </ul>
  39. </div>
  40. <ul class="leftBottom" v-if="pageData[0].data2[0]!=null">
  41. <li v-for="item in pageData[0].data2">
  42. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  43. <img :src="item.imgurl" :alt="item.title">
  44. </NuxtLink>
  45. <p>
  46. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  47. {{ item.title }}
  48. </NuxtLink>
  49. </p>
  50. </li>
  51. </ul>
  52. </div>
  53. <div class="innerRight" v-if="pageData.length>=2">
  54. <div class="title">
  55. <h3>
  56. <NuxtLink :href="getLinkPath(pageData[1])" v-if="pageData[1]" :title="pageData[1].alias">
  57. {{ pageData[1].alias }}
  58. </NuxtLink>
  59. <span>
  60. <NuxtLink :href="getLinkPath(pageData[1])" v-if="pageData[1]" :title="pageData[1].title">
  61. 查看更多
  62. </NuxtLink>
  63. </span>
  64. </h3>
  65. </div>
  66. <ul class="rightList">
  67. <li v-for="item in pageData[1].data">
  68. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  69. <img class="left" :src="item.imgurl" :alt="item.title">
  70. </NuxtLink>
  71. <p class="left">
  72. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  73. {{ item.title }}
  74. </NuxtLink>
  75. </p>
  76. </li>
  77. </ul>
  78. </div>
  79. </div>
  80. </div>
  81. <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen>
  82. <div class="farmingPartTwo" v-if="pageData.length>=3">
  83. <div class="inner">
  84. <div class="farmer" v-if="pageData.length>=3">
  85. <div class="title">
  86. <h3>
  87. <NuxtLink :href="getLinkPath(pageData[2])" v-if="pageData[2]" :title="pageData[2].alias">
  88. {{ pageData[2].alias }}
  89. </NuxtLink>
  90. <span>
  91. <NuxtLink :href="getLinkPath(pageData[2])" v-if="pageData[2]" :title="pageData[2].title">
  92. 查看更多
  93. </NuxtLink>
  94. </span>
  95. </h3>
  96. </div>
  97. <div class="PartTwoPhoto">
  98. <div v-if="pageData[2].data[0]">
  99. <NuxtLink :href="getLinkPathDetail(pageData[2].data[0])" :title="pageData[2].data[0].title">
  100. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  101. <span>{{ pageData[2].data[0].title }}</span>
  102. </NuxtLink>
  103. </div>
  104. </div>
  105. <ul class="PartTwoList">
  106. <li v-for="item in pageData[2].data2">
  107. <em></em>
  108. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  109. {{ item.title }}
  110. </NuxtLink>
  111. </li>
  112. </ul>
  113. </div>
  114. <div class="farmer" v-if="pageData.length>=4">
  115. <div class="title">
  116. <h3>
  117. <NuxtLink :href="getLinkPath(pageData[3])" v-if="pageData[3]" :title="pageData[3].alias">
  118. {{ pageData[3].alias }}
  119. </NuxtLink>
  120. <span>
  121. <NuxtLink :href="getLinkPath(pageData[3])" v-if="pageData[3]" :title="pageData[3].title">
  122. 查看更多
  123. </NuxtLink>
  124. </span>
  125. </h3>
  126. </div>
  127. <div class="PartTwoPhoto">
  128. <div v-if="pageData[3].data[0]">
  129. <NuxtLink :href="getLinkPathDetail(pageData[3].data[0])" :title="pageData[3].data[0].title">
  130. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  131. <span>{{ pageData[3].data[0].title }}</span>
  132. </NuxtLink>
  133. </div>
  134. </div>
  135. <ul class="PartTwoList">
  136. <li v-for="item in pageData[3].data2">
  137. <em></em>
  138. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  139. {{ item.title }}
  140. </NuxtLink>
  141. </li>
  142. </ul>
  143. </div>
  144. <div class="farmer" v-if="pageData.length>=5">
  145. <div class="title">
  146. <h3>
  147. <NuxtLink :href="getLinkPath(pageData[4])" v-if="pageData[4]" :title="pageData[4].alias">
  148. {{ pageData[4].alias }}
  149. </NuxtLink>
  150. <span>
  151. <NuxtLink :href="getLinkPath(pageData[4])" v-if="pageData[4]" :title="pageData[4].title">
  152. 查看更多
  153. </NuxtLink>
  154. </span>
  155. </h3>
  156. </div>
  157. <div class="PartTwoPhoto">
  158. <div v-if="pageData[4].data[0]">
  159. <NuxtLink :href="getLinkPathDetail(pageData[4].data[0])" :title="pageData[4].data[0].title">
  160. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  161. <span>{{ pageData[4].data[0].title }}</span>
  162. </NuxtLink>
  163. </div>
  164. </div>
  165. <ul class="PartTwoList">
  166. <li v-for="item in pageData[4].data2">
  167. <em></em>
  168. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  169. {{ item.title }}
  170. </NuxtLink>
  171. </li>
  172. </ul>
  173. </div>
  174. </div>
  175. </div>
  176. <HomeTopTen :imgurl="adImg2" v-if="adImg2"></HomeTopTen>
  177. <div class="zixuntuijian" v-if="pageData.length>=6">
  178. <div class="inner">
  179. <div class="innerLeft" >
  180. <div class="zixunTop">
  181. <div class="zixunLeft" v-if="pageData.length>=6">
  182. <div class="title">
  183. <h3>
  184. <NuxtLink :href="getLinkPath(pageData[5])" v-if="pageData[5]" :title="pageData[5].alias">
  185. {{ pageData[5].alias }}
  186. </NuxtLink>
  187. <span>
  188. <NuxtLink :href="getLinkPath(pageData[5])" v-if="pageData[5]" :title="pageData[5].title">
  189. 查看更多
  190. </NuxtLink>
  191. </span>
  192. </h3>
  193. </div>
  194. <ul class="photo_text" v-if="pageData[5].data[0]!= null">
  195. <li v-for="item in pageData[5].data">
  196. <article>
  197. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  198. <img :src="item.imgurl" :alt="item.title">
  199. </NuxtLink>
  200. <div>
  201. <h5>
  202. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  203. {{ item.title }}
  204. </NuxtLink>
  205. </h5>
  206. <p>
  207. <span>{{ item.author }}</span>
  208. <span>{{ getTime(item.updated_at,'month',1) }}</span>
  209. </p>
  210. </div>
  211. </article>
  212. </li>
  213. <li v-for="item in pageData[5].data2">
  214. <article>
  215. <em></em>
  216. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  217. {{ item.title }}
  218. </NuxtLink>
  219. </article>
  220. </li>
  221. </ul>
  222. </div>
  223. <div class="zixunRight" v-if="pageData.length>=7">
  224. <div class="title">
  225. <h3>
  226. <NuxtLink :href="getLinkPath(pageData[6])" v-if="pageData[6]" :title="pageData[6].alias">
  227. {{ pageData[6].alias }}
  228. </NuxtLink>
  229. <span>
  230. <NuxtLink :href="getLinkPath(pageData[6])" v-if="pageData[6]" :title="pageData[6].title">
  231. 查看更多
  232. </NuxtLink>
  233. </span>
  234. </h3>
  235. </div>
  236. <div class="towPic">
  237. <div v-for="item in pageData[6].data" class="picBox">
  238. <div>
  239. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  240. <img :src="item.imgurl" :alt="item.title">
  241. </NuxtLink>
  242. </div>
  243. </div>
  244. </div>
  245. <ul class="photo_text">
  246. <li v-for="item in pageData[6].data2">
  247. <article>
  248. <em></em>
  249. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  250. {{ item.title }}
  251. </NuxtLink>
  252. </article>
  253. </li>
  254. </ul>
  255. </div>
  256. </div>
  257. <div class="zixunBottom" v-if="pageData[7].data[0] != null">
  258. <img class="left" :src="pageData[7].data[0].imgurl" :alt="pageData[7].data[0].title"
  259. v-if="pageData[7].data[0] && hoverStatus == 0">
  260. <img class="left" :src="pageData[7].data[1].imgurl" :alt="pageData[7].data[1].title"
  261. v-if="pageData[7].data[1] && hoverStatus == 1">
  262. <img class="left" :src="pageData[7].data[2].imgurl" :alt="pageData[7].data[2].title"
  263. v-if="pageData[7].data[2] && hoverStatus == 2">
  264. <img class="left" :src="pageData[7].data[3].imgurl" :alt="pageData[7].data[3].title"
  265. v-if="pageData[7].data[3] && hoverStatus == 3">
  266. <img class="left" :src="pageData[7].data[4].imgurl" :alt="pageData[7].data[4].title"
  267. v-if="pageData[7].data[4] && hoverStatus == 4">
  268. <img class="left" :src="pageData[7].data[5].imgurl" :alt="pageData[7].data[5].title"
  269. v-if="pageData[7].data[5] && hoverStatus == 5">
  270. <ul class="leftList left">
  271. <li v-for="(item, index) in pageData[7].data" @mouseenter="qhPic(index)">
  272. <h4>
  273. <em></em>
  274. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  275. {{ item.title }}
  276. </NuxtLink>
  277. </h4>
  278. </li>
  279. </ul>
  280. </div>
  281. </div>
  282. <div class="innerRight" v-if="pageData.length>=8">
  283. <div class="title">
  284. <h3>
  285. <NuxtLink :href="getLinkPath(pageData[7])" v-if="pageData[7]" :title="pageData[7].alias">
  286. {{ pageData[7].alias }}
  287. </NuxtLink>
  288. <span>
  289. <NuxtLink :href="getLinkPath(pageData[7])" v-if="pageData[7]" :title="pageData[7].title">
  290. 查看更多
  291. </NuxtLink>
  292. </span>
  293. </h3>
  294. </div>
  295. <ul class="information">
  296. <li v-for="item in pageData[7].data2">
  297. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  298. <img :src="item.imgurl" :alt="item.title">
  299. </NuxtLink>
  300. <div class="text">
  301. <h5>
  302. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
  303. {{ item.title }}
  304. </NuxtLink>
  305. </h5>
  306. <p>{{ item.author }}</p>
  307. </div>
  308. </li>
  309. </ul>
  310. </div>
  311. </div>
  312. </div>
  313. <HomeTopTen :imgurl="adImg3" v-if="adImg3"></HomeTopTen>
  314. <!-- 十强称号logo -->
  315. <HomeTopTen :imgurl="adImg4" v-if="adImg4"></HomeTopTen>
  316. <!-- 页脚部分 -->
  317. <HomeFoot1></HomeFoot1>
  318. </div>
  319. </template>
  320. <script setup>
  321. //0.加载页面依赖 start ---------------------------------------->
  322. import { ref, onMounted } from 'vue';
  323. import { ElMessage } from 'element-plus';
  324. //格式化跳转路径 - 标题
  325. //首页分类栏目标题,不需要考虑外链
  326. const getLinkPath = (item) => {
  327. //return `/${item.url}/1.html`;
  328. //return `/newsList/${item.cid}?page=1`;
  329. return `/${item.aLIas_pinyin}/list-1.html`;
  330. }
  331. //首页跳转到详情,这里需要考虑外链
  332. const getLinkPathDetail = (item) => {
  333. if (item.islink == 1) {
  334. return `${item.linkurl}`;
  335. } else {
  336. //return `/${item.aLIas_pinyin}/${item.id}`;
  337. //return `/newsDetail/${item.id}`
  338. return `/${item.pinyin}/${item.id}.html`;
  339. }
  340. }
  341. //0.加载页面依赖 end ---------------------------------------->
  342. //1.获得路由id start ---------------------------------------->
  343. const route = useRoute();
  344. //获得当前的完整路径
  345. const fullPath = route.path;
  346. //拆分,取出来中间这一段,然后提取数字部分
  347. const segments = fullPath.split('/');
  348. const targetSegment = segments[1];
  349. //let routeId = 11 //排除路径错误可以打开这个
  350. //const numberPart = targetSegment.match(/\d+$/)?.[0];
  351. //let routeId = numberPart;
  352. let routeId;
  353. //通过导航路径反向查询导航id
  354. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  355. method: 'GET',
  356. query: {
  357. 'pinyin': targetSegment,
  358. },
  359. });
  360. if(getRouteId.code == 200){
  361. routeId = getRouteId.data.category_id
  362. }else{
  363. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  364. console.log("错误位置:通过url路径查询导航池id")
  365. console.log("后端错误反馈:",getRouteId.message)
  366. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  367. }
  368. //1.获得路由id end ---------------------------------------->
  369. //2.页面交互效果 start ---------------------------------------->
  370. //2.1 新闻图片切换
  371. const hoverStatus = ref(0)
  372. const qhPic = function (num) {
  373. console.log(num)
  374. hoverStatus.value = num;
  375. }
  376. //2.2 选项卡切换
  377. let showTabs = ref(1)
  378. let qhtabs = function (number) {
  379. console.log(number)
  380. showTabs.value = number
  381. }
  382. //2.3 展示广告
  383. let adImg1 = ref({})
  384. let adImg2 = ref({})
  385. let adImg3 = ref({})
  386. let adImg4 = ref({})
  387. onMounted(async () => {
  388. //从客户端获取行政职能部门 加快打开速度
  389. const { $webUrl, $CwebUrl } = useNuxtApp();
  390. //广告1
  391. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0001`
  392. const responseAd1 = await fetch(url, {
  393. headers: {
  394. 'Content-Type': 'application/json',
  395. 'Userurl': $CwebUrl,
  396. 'Origin': $CwebUrl
  397. }
  398. });
  399. const resultAd1 = await responseAd1.json();
  400. adImg1.value = resultAd1.data[0];
  401. //广告2
  402. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0002`
  403. const responseAd2 = await fetch(url2, {
  404. headers: {
  405. 'Content-Type': 'application/json',
  406. 'Userurl': $CwebUrl,
  407. 'Origin': $CwebUrl
  408. }
  409. });
  410. const resultAd2 = await responseAd2.json();
  411. adImg2.value = resultAd2.data[0];
  412. //广告3
  413. let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0003`
  414. const responseAd3 = await fetch(url3, {
  415. headers: {
  416. 'Content-Type': 'application/json',
  417. 'Userurl': $CwebUrl,
  418. 'Origin': $CwebUrl
  419. }
  420. });
  421. const resultAd3 = await responseAd3.json();
  422. adImg3.value = resultAd3.data[0];
  423. //广告4
  424. let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0004`
  425. const responseAd4 = await fetch(url4, {
  426. headers: {
  427. 'Content-Type': 'application/json',
  428. 'Userurl': $CwebUrl,
  429. 'Origin': $CwebUrl
  430. }
  431. });
  432. const resultAd4 = await responseAd4.json();
  433. adImg4.value = resultAd4.data[0];
  434. })
  435. //2.页面交互效果 end ---------------------------------------->
  436. //3.渲染页面数据 start ---------------------------------------->
  437. //3.1 该页面上所有的导航池 转为动态数据
  438. const pageCategory = ref([]);
  439. //3.2 该页面上需要渲染的所有数据
  440. const pageData = ref([
  441. // { id: 0, data: [], data2: [], title: "", cid: "" },
  442. // { id: 1, data: [], title: "", cid: "" },
  443. // { id: 2, data: [], title: "", cid: "" },
  444. // { id: 3, data: [], title: "", cid: "" },
  445. // { id: 4, data: [], title: "", cid: "" },
  446. // { id: 5, data: [], title: "", cid: "" },
  447. // { id: 6, data: [], title: "", cid: "" },
  448. // { id: 7, data: [], title: "", cid: "" },
  449. // { id: 8, data: [], title: "", cid: "" },
  450. // { id: 9, data: [], title: "", cid: "" },
  451. // { id: 10, data: [], title: "", cid: "" },
  452. // { id: 10, data: [], title: "", cid: "" },
  453. // {
  454. // id: 11,
  455. // title: "",
  456. // data: [],
  457. // data1: [],
  458. // data2: [],
  459. // data3: [],
  460. // data4: [],
  461. // category_id1: "",
  462. // category_id2: "",
  463. // category_id3: "",
  464. // category_id4: "",
  465. // title1: "",
  466. // title2: "",
  467. // title3: "",
  468. // title4: "",
  469. // cid: ""
  470. // },
  471. // { id: 12, data1: [], data2: [], data3: [], cid: "" },
  472. ])
  473. const navSize = ref("");
  474. //3.3 获取所有导航
  475. try {
  476. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  477. method: 'GET',
  478. query: {
  479. 'placeid': 1,
  480. 'pid': routeId,
  481. 'num': 8
  482. },
  483. });
  484. if(navigateData.code == 200){
  485. // 遍历可用的导航池放到页面中
  486. for (let index in navigateData.data) {
  487. let data = {
  488. title: navigateData.data[index].name,
  489. cid: navigateData.data[index].category_id,
  490. children_count: navigateData.data[index].children_count,
  491. alias: navigateData.data[index].alias,
  492. aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
  493. data:[],
  494. data1:[],
  495. data2:[],
  496. data3:[],
  497. data4:[],
  498. category_id1:"",
  499. category_id2:"",
  500. category_id3:"",
  501. category_id4:"",
  502. title1: "",
  503. title2: "",
  504. title3: "",
  505. title4: ""
  506. };
  507. if (navigateData.data[index].is_url == 1) {
  508. // 处理 URL 的逻辑
  509. } else {
  510. //每个页面最多8个模块
  511. pageData.value.push(data);
  512. }
  513. }
  514. //导航池加载完毕,开始申请模块数据
  515. // await getPageData1();
  516. // await getPageData2();
  517. // await getPageData3();
  518. // await getPageData4();
  519. // await getPageData5();
  520. // await getPageData6();
  521. // await getPageData7();
  522. // await getPageData8();
  523. let getJson = [
  524. {"parent":routeId + ",0,0","child":pageData.value[0].cid + ",5,8"},//模块1理论前沿
  525. {"parent":routeId + ",0,0","child":pageData.value[1].cid + ",5,0"},//模块2典型经验
  526. {"parent":routeId + ",0,0","child":pageData.value[2].cid + ",1,6"},//模块3农业天地
  527. {"parent":routeId + ",0,0","child":pageData.value[3].cid + ",1,6"},//模块4美丽乡村
  528. {"parent":routeId + ",0,0","child":pageData.value[4].cid + ",1,6"},//模块5农民之家
  529. {"parent":routeId + ",0,0","child":pageData.value[5].cid + ",6,3"},//模块6农业天地
  530. {"parent":routeId + ",0,0","child":pageData.value[6].cid + ",2,3"},//模块7农村建设
  531. {"parent":routeId + ",0,0","child":pageData.value[7].cid + ",4,0"},//模块8高端资讯
  532. ]
  533. let jsonString = JSON.stringify(getJson);
  534. getPageAllData(jsonString);
  535. }else{
  536. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  537. console.log("错误位置:分类页导航池")
  538. console.log("后端错误反馈:",navigateData.message)
  539. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  540. }
  541. } catch (error) {
  542. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  543. console.log("错误位置:分类页导航渲染阶段")
  544. console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
  545. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  546. }
  547. async function getPageAllData(jsonString){
  548. const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
  549. method: 'GET',
  550. query: {
  551. 'id':jsonString
  552. },
  553. });
  554. if(mkdata.code==200){
  555. console.log(778899)
  556. console.log(mkdata.data)
  557. //模块1理论前沿
  558. if(mkdata.data[0].child.imgnum.length > 0){
  559. pageData.value[0].data.push(mkdata.data[0].child.imgnum[0]);
  560. }
  561. if(mkdata.data[0].child.imgnum.length > 1){
  562. pageData.value[0].data2.push(mkdata.data[0].child.imgnum[1]);
  563. }
  564. if(mkdata.data[0].child.imgnum.length > 2){
  565. pageData.value[0].data2.push(mkdata.data[0].child.imgnum[2]);
  566. }
  567. if(mkdata.data[0].child.imgnum.length > 3){
  568. pageData.value[0].data2.push(mkdata.data[0].child.imgnum[3]);
  569. }
  570. if(mkdata.data[0].child.imgnum.length > 4){
  571. pageData.value[0].data2.push(mkdata.data[0].child.imgnum[4]);
  572. }
  573. pageData.value[0].data3 = mkdata.data[0].child.textnum;
  574. //模块2典型经验
  575. pageData.value[1].data = mkdata.data[1].child.imgnum;
  576. //模块3农业天地
  577. pageData.value[2].data = mkdata.data[2].child.imgnum;
  578. pageData.value[2].data2 = mkdata.data[2].child.textnum;
  579. //模块4美丽乡村
  580. pageData.value[3].data = mkdata.data[3].child.imgnum;
  581. pageData.value[3].data2 = mkdata.data[3].child.textnum;
  582. //模块5农民之家
  583. pageData.value[4].data = mkdata.data[4].child.imgnum;
  584. pageData.value[4].data2 = mkdata.data[4].child.textnum;
  585. //模块6农业天地 注意,三农资讯网跟其他行星站不一样,你不需要复制我这个
  586. //因为本来二级分类页有9个模块,但是实际应用中只有8个,所以我把本来是模块7
  587. //的地方和现有的模块6合并成1个了
  588. if(mkdata.data[5].child.imgnum.length > 0){
  589. pageData.value[5].data.push(mkdata.data[5].child.imgnum[0]);
  590. }
  591. pageData.value[5].data2 = mkdata.data[5].child.textnum;
  592. //把模块6的内容放到模块7中一部分
  593. for (let i = 1; i < mkdata.data[5].child.imgnum.length && i <= 5; i++) {
  594. pageData.value[7].data.push(mkdata.data[5].child.imgnum[i]);
  595. }
  596. //模块7农村建设
  597. pageData.value[6].data = mkdata.data[6].child.imgnum;
  598. pageData.value[6].data2 = mkdata.data[6].child.textnum;
  599. //模块8高端资讯
  600. pageData.value[7].data2 = mkdata.data[7].child.imgnum;
  601. }else{
  602. ElMessage.error(mkdata.message)
  603. }
  604. }
  605. //获得模块数据
  606. // async function getPageData(catid,img_num,text_num,modulesNum,childNavNum,childImgNum,childTextNum){
  607. // const mkdata = await requestDataPromise('/web/getWebsiteCatidArticle', {
  608. // method: 'GET',
  609. // query: {
  610. // 'catid': catid, //catid
  611. // 'img_num': img_num, //图片数量
  612. // 'text_num': text_num, //文字数量
  613. // 'child_catnum':childNavNum,//子级栏目菜单数量
  614. // 'child_imgnum':childImgNum,//子栏目展示图片新闻数量
  615. // 'child_textnum':childTextNum//子栏目展示文字新闻数量
  616. // },
  617. // });
  618. // if(modulesNum == 1){
  619. // if(mkdata.data.img.length > 0){
  620. // pageData.value[0].data.push(mkdata.data.img[0]);
  621. // }
  622. // if(mkdata.data.img.length > 1){
  623. // pageData.value[0].data2.push(mkdata.data.img[1]);
  624. // }
  625. // if(mkdata.data.img.length > 2){
  626. // pageData.value[0].data2.push(mkdata.data.img[2]);
  627. // }
  628. // if(mkdata.data.img.length > 3){
  629. // pageData.value[0].data2.push(mkdata.data.img[3]);
  630. // }
  631. // if(mkdata.data.img.length > 4){
  632. // pageData.value[0].data2.push(mkdata.data.img[4]);
  633. // }
  634. // // pageData.value[0].data.push(mkdata.data.img[0]);
  635. // // pageData.value[0].data2.push(mkdata.data.img[1]);
  636. // // pageData.value[0].data2.push(mkdata.data.img[2]);
  637. // // pageData.value[0].data2.push(mkdata.data.img[3]);
  638. // // pageData.value[0].data2.push(mkdata.data.img[4]);
  639. // pageData.value[0].data3 = mkdata.data.text;
  640. // }
  641. // if(modulesNum == 2){
  642. // pageData.value[1].data = mkdata.data.img;
  643. // }
  644. // if(modulesNum == 3){
  645. // pageData.value[2].data = mkdata.data.img;
  646. // pageData.value[2].data2 = mkdata.data.text;
  647. // }
  648. // if(modulesNum == 4){
  649. // pageData.value[3].data = mkdata.data.img;
  650. // pageData.value[3].data2 = mkdata.data.text;
  651. // }
  652. // if(modulesNum == 5){
  653. // pageData.value[4].data = mkdata.data.img;
  654. // pageData.value[4].data2 = mkdata.data.text;
  655. // }
  656. // if(modulesNum == 6){
  657. // if(mkdata.data.img.length > 0){
  658. // pageData.value[5].data.push(mkdata.data.img[0]);
  659. // }
  660. // pageData.value[5].data2 = mkdata.data.text;
  661. // if(mkdata.data.img.length > 1){
  662. // pageData.value[7].data.push(mkdata.data.img[1]);
  663. // }
  664. // if(mkdata.data.img.length > 2){
  665. // pageData.value[7].data.push(mkdata.data.img[2]);
  666. // }
  667. // if(mkdata.data.img.length > 3){
  668. // pageData.value[7].data.push(mkdata.data.img[3]);
  669. // }
  670. // if(mkdata.data.img.length > 4){
  671. // pageData.value[7].data.push(mkdata.data.img[4]);
  672. // }
  673. // if(mkdata.data.img.length > 5){
  674. // pageData.value[7].data.push(mkdata.data.img[5]);
  675. // }
  676. // }
  677. // if(modulesNum == 7){
  678. // pageData.value[6].data = mkdata.data.img;
  679. // pageData.value[6].data2 = mkdata.data.text;
  680. // }
  681. // //模块8 向后移动一个位置
  682. // if(modulesNum == 8){
  683. // pageData.value[7].data2 = mkdata.data.img;
  684. // }
  685. // }
  686. //新农村
  687. //模块1 理论前沿
  688. // async function getPageData1() {
  689. // await getPageData(pageData.value[0].cid,5,8,1,0,0,0);
  690. // }
  691. // //模块2 典型经验
  692. // async function getPageData2() {
  693. // await getPageData(pageData.value[1].cid,5,0,2,0,0,0);
  694. // }
  695. // //模块3 农业天地
  696. // async function getPageData3() {
  697. // await getPageData(pageData.value[2].cid,1,6,3,0,0,0);
  698. // }
  699. // //模块4 美丽乡村
  700. // async function getPageData4() {
  701. // await getPageData(pageData.value[3].cid,1,6,4,0,0,0);
  702. // }
  703. // //模块5 农民之家
  704. // async function getPageData5() {
  705. // await getPageData(pageData.value[4].cid,1,6,5,0,0,0);
  706. // }
  707. // //模块6 农业天地
  708. // async function getPageData6() {
  709. // await getPageData(pageData.value[5].cid,6,3,6,0,0,0);
  710. // }
  711. // //模块7 农村建设
  712. // async function getPageData7() {
  713. // await getPageData(pageData.value[6].cid,2,3,7,0,0,0);
  714. // }
  715. // //模块8 高端资讯
  716. // async function getPageData8() {
  717. // await getPageData(pageData.value[7].cid,4,0,8,0,0,0);
  718. // }
  719. // 注意,为了保持模块的数量,当前固定为8个
  720. // 所以这里的农业天地,合并了原来是下面的7号模块
  721. // 而原本是7号模块的地方现在变成了8号模块
  722. //3.渲染页面数据 end ---------------------------------------->
  723. //4.设置seo信息 start---------------------------------------->
  724. //4.1 设置seo信息
  725. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  726. method: 'GET',
  727. query: {
  728. 'catid': routeId
  729. },
  730. });
  731. if(setData.code == 200){
  732. let seoTitle = setData.data.seo_title;
  733. let seoDescription = setData.data.seo_description;
  734. let seoKeywords = setData.data.seo_keywords;
  735. let seoSuffix = setData.data.suffix;
  736. let seoName = setData.data.website_name;
  737. useSeoMeta({
  738. title: seoTitle + "_" + seoSuffix,
  739. meta: [
  740. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix , tagPriority: 10 },
  741. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix , tagPriority: 10 }
  742. ]
  743. });
  744. }else{
  745. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  746. console.log("错误位置:设置分类页面SEO数据")
  747. console.log("后端错误反馈:",setData.message)
  748. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  749. }
  750. //4.设置seo信息 end---------------------------------------->
  751. </script>
  752. <style lang="less" scoped>
  753. @import '@/assets/css/class.less';
  754. </style>